Jonathan Leto and I made a trip to Seattle to talk about Perl and The Perl Foundation's involvement with GSoC at a Google Summer of Code Infosession this week. The show-of-hands of students who have used Perl was only one or two out of about 25. My presentation included a very brief overview of TPF, Perl, the CPAN, Perl Mongers, YAPC, Perl 6 and Parrot (in under 10 minutes.) I guessed that most of these things might be completely foreign to a group of CS students, but the blank stares about the CPAN were particularly striking.
Apparently the CS curriculum does not cover version control, test-driven development, project planning, bugtrackers, external dependencies, and various other real-world issues. From talking to some of the students afterwards, they are getting exposed to algorithms and data structures, but only through Java. A few asked about my "Perl is multi-paradigmatic" comment (where I mentioned procedural, object-oriented, functional, and declarative programming.) The notion that you can come at the problem from a radically different direction was just as foreign as everything else I said. I got the impression that several students might have had Perl filed under "only does web stuff" (if they had heard much about it at all.) Hopefully we helped clear-up some misconceptions and spark some interest.
Please, go tell students in your area about Perl! It seems that the universities are neglecting to mention it.
Is it only for the sake of broadening their knowledge?
It certainly does not seem to be a key requirement in most of the openings out there.
Some of the other real-world issues you mentioned seem to be much more important for someone looking for a job than Perl.
Are there any immediate benefits for a student in knowing Perl?
I am trying to think about this and the main thing I could come up is that with perl they could easily copy the assignment of someone else, change the variables and function names and submit as their own.
Another, more noble cause might be to write a prototype of the assignment - though assignments are usually quite small anyway - or to test if the assignment was met.
Re:What benefit do they have?
mpeters on 2009-03-09T03:13:39
When I was still going to school I didn't learn Perl until my senior (last) year, but I wish I had learned it sooner. Not all of our classes required that the solution to a problem be written in a particular language. After I learned Perl I had several projects I wrote for my Networking and Software Engineering and I finished much quicker than those students who used C++, Java or C#.
Re:What benefit do they have?
zby on 2009-03-09T08:13:54
While the focuse in Perl is on the practical side - there are a few quite theoretically advanced things in it. Case in point - Roles in Moose are one of the very few implementations of a sematic described in a research article.